Fetch Name from PAN API
The following document highlights the Fetch Name from PAN API details.
- The Fetch Name from PAN API is designed specifically for data auto-population purposes, not for PAN validation or verification.
- This API is available exclusively to Regulated Entities (REs) with valid regulatory licenses in India. Data access and processing must remain within your licensed Indian entity, and all data must be stored within Indian geography only. Access from servers located outside India is not permitted.
If you have questions about these requirements or need clarification on your current access, please contact our team at HyperVerge.
API Description
Objective
The Fetch Name from PAN API retrieves the name of the cardholder from their Permanent Account Number(PAN) record based on their PAN ID.
| Input | Output |
|---|---|
| The ten-digit alphanumeric PAN ID | The name of the PAN holder |
Benefits
You can use the API to authenticate a user by matching their name extracted from,
- Their PAN card image through optical character recognition, and
- The name from the Fetch Name from PAN API
API URL
https://ind-verify.hyperverge.co/api/getNameFromPAN
API Endpoint
getNameFromPAN
Overview
The API is RESTful and uses standard HTTP verbs and status codes. The responses are in JSON format and you should upload all images and files as form-data through a POST request.
Authentication
You need a unique pair of application ID ( appId ) and application key (appKey) from HyperVerge to verify your identity for accessing the API.
API Request Details
Method - POST
Headers
| Parameter | Mandatory or Optional | Description | Valid Values |
|---|---|---|---|
| content-type | Mandatory | This parameter defines the media type for the request payload. | application/json |
| appId | Mandatory | Application ID shared by HyperVerge | Not applicable - this is a unique value. |
| appKey | Mandatory | Application Key shared by HyperVerge | Not applicable - this is a unique value. |
| transactionId | Mandatory | Unique ID for the customer journey. | Not applicable - this should be unique value mapped to a transaction in your business ecosystem. |
Input
The following table provides the complete information on the parameters used in the request body for the API call.
| Parameter | Mandatory or Optional | Valid Values | Description |
|---|---|---|---|
pan | Mandatory | Not applicable | The permanent account number(PAN) of the customer to fetch the details associated with it. The input format for this parameter should be 'CCCCCDDDDC', where 'C' represents a character and 'D' represents a digit. |
Request
The following sample code snippets show the standard curl requests for the API:
curl --location --request POST 'https://ind-verify.hyperverge.co/api/getNameFromPAN' \
--header 'Content-Type: application/json' \
--header 'appId: <Enter_the_HyperVerge_appId>' \
--header 'appKey: <Enter_the_HyperVerge_appKey>' \
--header 'transactionId: <Enter_the_HyperVerge_transactionID>' \
--data '{
"pan": "<Enter_users_PAN>"
}'
Success Response
{
"status": "success",
"statusCode": "200",
"result": {
"name": "<Name of the PAN Holder>"
}
}
Failure Response
The following code is a response for an invalid PAN input used in the request:
{
"status": "failure",
"statusCode": "422",
"error": "Entered id is not found in any database"
}
Error Responses
- Missing PAN Input
- Invalid PAN Input
- Invalid PAN Input - 2
- Invalid PAN Input - 3
- Blank Input
{
"status": "failure",
"statusCode": "400",
"error": "pan is required"
}
{
"status": "failure",
"statusCode": "400",
"error": "pan must be a string"
}
{
"status": "failure",
"statusCode": "400",
"error": "pan must only contain alpha-numeric characters"
}
{
"status": "failure",
"statusCode": "400",
"error": "pan length must be 10 characters long"
}
{
"status": "failure",
"statusCode": "400",
"error": "pan is not allowed to be empty"
}
- Server Error - 1
- Server Error - 2
- Server Error - 3
- Server Error - 4
- Server Error - 5
- Invalid Input
{
"status": "failure",
"statusCode": "500",
"error": "internal server error"
}
{
"status": "failure",
"statusCode": "500",
"error": "Unexpected server error"
}
{
"status": "failure",
"statusCode": "500",
"error": "Unexpected server error"
}
{
"status": "failure",
"statusCode": "503",
"error": "Data Source not Available"
}
{
"status": "failure",
"statusCode": "504",
"error": "Govt. database service unavailable"
}
{
"status": "failure",
"statusCode": "400",
"error": "Invalid value passed for an input"
}